package com.wbl.train.business.service;

import com.wbl.train.common.business.dto.ConfirmOrderDto;
import com.wbl.train.common.business.dto.DailyTrainCarriageDto;
import com.wbl.train.common.business.entity.ConfirmOrderEntity;
import com.baomidou.mybatisplus.extension.service.IService;
import com.wbl.train.common.business.entity.DailyTrainCarriageEntity;
import com.wbl.train.common.page.PageVo;

/**
 * 确认订单 服务类
 * @author 王博纶
 * @since 2024-03-04
 */
public interface ConfirmOrderService extends IService<ConfirmOrderEntity> {

    /**
     * 查询确认订单的信息
     * @param confirmOrderDto 确认订单DTO
     * @return 分页信息
     */
    PageVo<ConfirmOrderEntity> queryConfirmOrder(ConfirmOrderDto confirmOrderDto);

    /**
     * 新增确认订单信息
     * @param confirmOrderEntity 确认订单信息
     * @return 是否新增成功
     */
    boolean insertAndUpdateConfirmOrder(ConfirmOrderEntity confirmOrderEntity);

    /**
     * 确认订单
     * @param confirmOrderDto 确认订单信息Dto
     * @return 确认完成的返回值
     */
    boolean doConfirm(ConfirmOrderDto confirmOrderDto);


    /**
     * 下单，出票之前的操作
     * @param confirmOrderDto 确认订单信息Dto
     */
    void beforeConfirmOrder(ConfirmOrderDto confirmOrderDto);

}
